package com.finance.cooperate.feature.dto;

import com.finance.cooperate.common.constant.Constant;
import lombok.Data;

import java.util.HashMap;
import java.util.Map;

/**
 * @ClassName CompositeAppCountDTO
 * @Description TODO
 * @Author shen
 * @Date 2023/8/7 10:21
 * @Modify ...
 */
@Data
public class CompositeAppCountDTO {

    // APP 个数
    private Integer appCount = Constant.MISSING_VALUE.intValue();

    // 贷款类应用集
    private Integer loanTop10Count = Constant.MISSING_VALUE.intValue();
    private Integer loanTop10DistanceSubmitTimeDaysAvg = Constant.MISSING_VALUE.intValue();
    private Integer loanTop10DistanceSubmitTimeDaysMax = Constant.MISSING_VALUE.intValue();

    private Integer loanTop30Count = Constant.MISSING_VALUE.intValue();
    private Integer loanTop30DistanceSubmitTimeDaysAvg = Constant.MISSING_VALUE.intValue();
    private Integer loanTop30DistanceSubmitTimeDaysMax = Constant.MISSING_VALUE.intValue();

    private Integer loanTop60Count = Constant.MISSING_VALUE.intValue();
    private Integer loanTop60DistanceSubmitTimeDaysAvg = Constant.MISSING_VALUE.intValue();
    private Integer loanTop60DistanceSubmitTimeDaysMax = Constant.MISSING_VALUE.intValue();

    private Integer hasChineseCount = Constant.MISSING_VALUE.intValue();

    // 近N月app安装个数
    private Integer nearly1MonthsAppCount;
    private Integer nearly2MonthsAppCount;
    private Integer nearly3MonthsAppCount;

    // 近N个月app安装占比
    private Double  nearly1MonthsAppPercentage;
    private Double  nearly2MonthsAppPercentage;
    private Double  nearly3MonthsAppPercentage;

    // 最早安装的app距现在的天数
    private Integer firstAppInstallDays;
    // 最近安装的app距现在的天数
    private Integer lastAppInstallDays;

    // 竞品app细分
    private Integer competitionAppLevelV1;
    private Integer competitionAppLevel1CountV1;
    private Integer competitionAppLevel2CountV1;
    private Integer competitionAppLevel3CountV1;
    private Integer competitionAppLevel4CountV1;
    private Integer competitionAppLevel5CountV1;

    // 竞品app细分
    private Integer competitionAppLevelV2;
    private Integer competitionAppLevel1CountV2;
    private Integer competitionAppLevel2CountV2;
    private Integer competitionAppLevel3CountV2;
    private Integer competitionAppLevel4CountV2;
    private Integer competitionAppLevel5CountV2;

    // 3～5合并
    private Integer competitionAppLevel3To5CountV2;


    private Map<String, Long> appIsInstallV1 = new HashMap<>();

    private Map<String, Long> appInstallTimeV1 = new HashMap<>();

    private Map<String, Long> appRetentiveTime = new HashMap<>();


}
